package com.bjsxt.auth;

/**
 * @author : 蹦迪
 * @date : 21:37 2021/7/1
 */

import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;

/**
 * 基于spring security 开发的用户 认证实现
 * 处理登录逻辑类型
 * 要求实现 Security定义的接口
 * 接口名称:UserDetailsService
 * 接口中的方法:
 *  UserDetails loadUserByUsername(String username)
 * 提供认证和授权自定义处理的方法
 *  参数: 身份(用户登路账号)
 *  返回: UserDetails接口类型 代表一个用户登登录后的主体 可以自定义实现此接口的实现类
 *      也可以使用Security框架提供的默认类型 user
 *      必须通过方法获得登录用户的 部分信息 如: 身份 凭证(密码) 权限
 *  异常: 当用户名不存在时 抛出异常 throws UsernameNotFoundException
 *      
 * */
public class UserLoginServiceImpl implements UserDetailsService {
    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
        return null;
    }
}
